package com.easylinkin.linkappapi.safe.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 安全通知设置
 * </p>
 *
 * @author kanyuanfeng
 * @since 2023-07-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("app_hidden_config")
public class HiddenConfig extends Model<HiddenConfig> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 租户id
     */
    @TableField("tenant_id_")
    private String tenantId;

    /**
     * 整改通知(1开0关)
     */
    @TableField("rectify_")
    private Boolean rectify;

    /**
     * 整改复查通知(1开0关)
     */
    @TableField("check_")
    private Boolean check;

    /**
     * 复查结果通知(1开0关)
     */
    @TableField("check_end_")
    private Boolean checkEnd;

    /**
     * 任务即将超期通知(1开0关)
     */
    @TableField("task_expire_")
    private Boolean taskExpire;

    /**
     * 任务超期时间(小时)
     */
    @TableField(value = "expire_param_",strategy = FieldStrategy.IGNORED)
    private Integer expireParam;

    /**
     * 任务已超期通知(1开0关)
     */
    @TableField("task_over_")
    private Boolean taskOver;

    /**
     * 超期通知天数(天)
     */
    @TableField(value = "over_param_",strategy = FieldStrategy.IGNORED)
    private Integer overParam;

    /**
     * 任务超期上报通知(1开0关)
     */
    @TableField("task_upper_")
    private Boolean taskUpper;

    /**
     * 任务超期上报通知人员id(逗号分隔)
     */
    @TableField(value = "upper_param_",strategy = FieldStrategy.IGNORED)
    private String upperParam;

    /**
     * 任务超期上报生效时间
     */
    @TableField("upper_time_")
    private Date upperTime;

    /**
     * 创建人id
     */
    @TableField("creator_id_")
    private Long creatorId;

    /**
     * 创建日期
     */
    @TableField("create_time_")
    private Date createTime;

    /**
     * 修改人id
     */
    @TableField("modify_id_")
    private Long modifyId;

    /**
     * 修改时间
     */
    @TableField("modify_time_")
    private Date modifyTime;

    /**
     * 备注/说明
     */
    @TableField("remark_")
    private String remark;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
